const express = require("express");
const app = express();
app.use(express.static(__dirname));
// s过期的秒数，默认为10秒
function getUTCTime(s=10){
	const t = new Date();
	t.setTime(Date.now()+s*1000);
	return t.toUTCString();
}
app.get("/setCookie",(req,res)=>{
	// 增加响应头:以下形式后者会覆盖前者
	// res.set("Set-Cookie","username=zhangsan;")
	// res.set("Set-Cookie","age=12;")
	
	// 增加多个Cookie
	res.set("Set-Cookie",[
		// username是名字 zhangsan是值
		// 会话cookie,未设置过期时间  httpOnly=true:不允许在页面当中调用cookie
		"username=zhangsan;httpOnly=true;",
		// 设置过期时间,10秒钟以后过期
		"age=12;max-age=1000",
		// 设置过期时间，10秒以后过期
		`sex=100;expires=${getUTCTime(1000)}`,
		// 如果max-age与expires同时存在，听max-age的
		`qita=90;max-age=5000;expires=${getUTCTime(50)}`,
		// path:只允许在/abc目录下访问
		// 支持：
		// http://127.0.0.1/abc
		// http://127.0.0.1/abc/a/b
		// 不支持
		// http://127.0.0.1/abcd
		`my=80;path=/abc`,
		// 允许在api.zhangpeiyue.com下访问
		`api=lala;domain=api.zhangpeiyue.com`
	])
	res.send("设置cookie");
})
app.get("/getCookie",(req,res)=>{
	// console.log(req.headers.cookie);// username=zhangsan; age=12
	// console.log(req.headers.cookie.split("; "))// ["username=zhangsan","age=12"]
	let obj = {};
	if(req.headers.cookie){
		req.headers.cookie.split("; ").forEach(item=>{
			const [key,value] = item.split("=");
			obj[key] = value;
		})
		console.log(obj);
	}else{
		console.log("无cookie")
	}
	
	res.send("获取cookie");
})
app.get("/delCookie",(req,res)=>{
	res.set("Set-Cookie",[
		// username是名字 zhangsan是值
		// 会话cookie,未设置过期时间  httpOnly=true:不允许在页面当中调用cookie
		"username=zhangsan;max-age=0;httpOnly=true;",
		// 设置过期时间,10秒钟以后过期
		"age=12;max-age=0",
		// 设置过期时间，10秒以后过期
		`sex=100;expires=${getUTCTime(0)}`,
		// 如果max-age与expires同时存在，听max-age的
		`qita=90;max-age=0;expires=${getUTCTime(50)}`,
		`my=80;max-age=0;path=/abc`,
		// 允许在api.zhangpeiyue.com下访问
		`api=lala;max-age=0;domain=api.zhangpeiyue.com`
	])
	res.send("删除cookie");
})
app.listen(80,()=>{
	console.log("success");
})